home *** CD-ROM | disk | FTP | other *** search
/ Suzy B Software 2 / Suzy B Software CD-ROM 2 (1994).iso / extras / programm / gemfsc20 / gemfsc20.lzh / GEMFBIND / VVALUATO.S < prev    next >
Text File  |  1993-03-26  |  2KB  |  61 lines

  1. ;*========================================================================
  2. ;* VDIFAST Public Domain VDI bindings.
  3. ;*========================================================================
  4.  
  5.  
  6. ;*------------------------------------------------------------------------
  7. ;* Input valuator.
  8. ;*------------------------------------------------------------------------
  9.  
  10.           globl     _vsm_valuator
  11. _vsm_valuator:
  12.           link        a6,#-6
  13.           st        -6(a6)
  14.           bra.b     v_valuator
  15.           globl     _vrq_valuator
  16. _vrq_valuator:
  17.           link        a6,#-6
  18.           clr.b     -6(a6)
  19. v_valuator:
  20. ;    .cargs    #8,handle.w,valin.w,valout.l,term.l,status.l
  21.  
  22. handle      =         8
  23. valin      =         10
  24. valout      =         12
  25. term      =         16
  26. status      =         20
  27.  
  28.  
  29. ;          VContrl    #29,,,#1
  30.           move.w    handle(a6),-(sp)    ; contrl[6]
  31.           clr.l     -(sp)                ; contrl[5,4]
  32.           move.w    #1,-(sp)            ; contrl[3]
  33.           subq.l    #2,sp                ; contrl[2]
  34.           clr.w     -(sp)                ; contrl[1]
  35.           move.w    #29,-(sp)            ; contrl[0]
  36.  
  37.           subq.l    #4,sp                ;* -> ptsout
  38.           pea        -4(a6)                ;* -> intout
  39.           subq.l    #4,sp                ;* -> ptsin
  40.           pea        valin(a6)            ;* -> intin
  41.           pea        16(sp)                ;* -> contrl
  42.  
  43.           move.l    sp,d1
  44.           jsr        vditrap
  45.  
  46.           move.l    valout(a6),a0        ;* Return value
  47.           move.w    -4(a6),(a0)         ;* from intout[0].
  48.           move.l    term(a6),a0         ;* Return terminator
  49.           move.w    -2(a6),(a0)         ;* from intout[1].
  50.  
  51.           tst.b     -6(a6)                ;* Check sample-mode flag, if
  52.           beq.b     skip                ;* not sample mode, skip status.
  53.  
  54.           move.l    status(a6),a0        ;* In sample mode, we have to return
  55.           move.w    28(sp),(a0)         ;* status from contrl[4].
  56. skip:
  57.           unlk        a6
  58.           rts
  59.  
  60.           end
  61.